package com.ddwl.schema.vo.funds;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.Instant;

/**
 * 订单支付表(OrderPay)返回对象
 *
 * @author zach
 * @since 2020-09-24 11:42:01
 */
@Getter
@Setter
@ApiModel(value = "订单支付表")
public class OrderPaymentVo {
    @ApiModelProperty(value = "id")
    private String id;

    @ApiModelProperty(value = "所属商户")
    private String mchId;

    @ApiModelProperty(value = "所属门店")
    private String shopId;

    @ApiModelProperty(value = "订单ID")
    private String orderId;

    @ApiModelProperty(value = "阶段id")
    private String phaseId;

    @ApiModelProperty(value = "第三方支付交易单号")
    private String tradeNo;

    @ApiModelProperty(value = "支付类型（0微信支付，1支付宝支付）")
    private Integer payType;

    @ApiModelProperty(value = "支付金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "退款金额")
    private BigDecimal reAmount;

    @ApiModelProperty(value = "支付状态（0创建10提交支付20支付成功30支付失败）")
    private Integer tradeStatus;

    @ApiModelProperty(value = "用户ID")
    private String userId;

    @ApiModelProperty(value = "用户名称")
    private String userName;

    @ApiModelProperty(value = "付款人用户id")
    private String payUserId;

    @ApiModelProperty(value = "付款人名称")
    private String payUserName;

    @ApiModelProperty(value = "支付主题")
    private String subject;

    @ApiModelProperty(value = "所属产品")     
    private String product;

    @ApiModelProperty(value = "支付次数")     
    private Integer payTimes;

    @ApiModelProperty(value = "支付超时时间")     
    private Instant expirationTime;

    @ApiModelProperty(value = "主订单id")     
    private String masterOrderId;

    @ApiModelProperty(value = "回调方法")
    private String notifyMethod;

    @ApiModelProperty(value = "创建时间")
    private Instant gmtCreated;

    @ApiModelProperty(value = "修改时间")
    private Instant gmtModified;
}